using System;
using System.Xml.Serialization;

namespace Aop.Api.Domain
{
    /// <summary>
    /// AlipayPcreditUserProfileSendModel Data Structure.
    /// </summary>
    [Serializable]
    public class AlipayPcreditUserProfileSendModel : AopObject
    {
        /// <summary>
        /// 商户采集的数据类别，外部商户需要和平台约定，数据类别由平台分配给商户，如：  HOUSING_FUND-公积金  EDUCATIONAL_BACKGROUND-学历
        /// </summary>
        [XmlElement("category")]
        public string Category { get; set; }

        /// <summary>
        /// 商户采集推送的数据内容，要求Json格式，外部商户需要和平台约定好业务参数的具体内容，平台配置模型解析JSON
        /// </summary>
        [XmlElement("data_content")]
        public string DataContent { get; set; }

        /// <summary>
        /// 商户采集数据的渠道，可以使用企业网站域名，取域名中间的单词(大写)，如：  支付宝-ALIPAY  淘宝-TAOBAO
        /// </summary>
        [XmlElement("data_provider")]
        public string DataProvider { get; set; }

        /// <summary>
        /// 商户采集用户数据的版本，数据的每次更新都会有一个唯一的版本作为标识，格式约定如：YYYYMMDD.001(支持一天100次的有效数据更新)
        /// </summary>
        [XmlElement("data_version")]
        public string DataVersion { get; set; }

        /// <summary>
        /// 商户采集对象的实体编号，如：身份证号、工商号、支付宝ID、淘宝ID
        /// </summary>
        [XmlElement("entity_code")]
        public string EntityCode { get; set; }

        /// <summary>
        /// 商户采集对象的实体名称，如个人姓名、公司名
        /// </summary>
        [XmlElement("entity_name")]
        public string EntityName { get; set; }

        /// <summary>
        /// 商户采集实体的类型，用于区分实体名和编号的含义，取值如下：  身份证=PERSON  营业执照=COMPANY  支付宝ID=ALIPAY_ID  淘宝ID=TAOBAO_ID
        /// </summary>
        [XmlElement("entity_type")]
        public string EntityType { get; set; }

        /// <summary>
        /// 商户生成的唯一请求流水号，业务平台用于对并发重复请求进行幂等控制
        /// </summary>
        [XmlElement("req_id")]
        public string ReqId { get; set; }
    }
}
